package com.etc.dao;
import java.util.List;

import com.etc.entity.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper {
    /**
     * 增加用户
     * @param user
     * @return
     */
    int insert(@Param("user") User user);
    /**
     * 查询全部
     * @return
     */
    List<User> selectAll();

    /**
     * 根据用户等级查询用户
     * @param userLevel
     * @return
     */
    List<User> selectUserByStatus(@Param("userLevel") Integer userLevel);
    /**
     * 根据用户名查询
     * @param userName
     * @return
     */
    User selectByUsername(@Param("userName") String userName);

    /**
     * 根据用户名和密码查询
     * @param userName
     * @param userPwd
     * @return
     */
    User selectByPrimaryKey(@Param("userName") String userName, @Param("userPwd") String userPwd);

    /**
     * 根据用户名修改用户信息
     * @param updated
     * @param username
     * @return
     */
    int updateByUsername(@Param("updated") User updated, @Param("username") String username);

    /**
     * 根据用户id删除用户信息
     * @param id
     * @return
     */
    int deleteById(Long id);

    /**
     * 根据用户id修改用户状态
     * @param id
     * @param status
     * @return
     */
    int updateById(@Param("id") Long id, @Param("status") String status);

    /**
     * 后台增加管理员
     * @param userInfo
     * @return
     */
    int addUser(@Param("userInfo") User userInfo);

    /**
     * 根据用户名修改用户信息2
     * @param updated
     * @param username
     * @return
     */
    int updateUser(@Param("updated") User updated, @Param("username") String username);
}